package com.wky1.wang1;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Date;
import java.util.Map;

public class JwtUtils {
    //生成JWT令牌
    private static String setKey="wangkaiyu";
    public static String getJwt(Map<String,Object> json){
        String jwt= Jwts.builder()
                .setClaims(json)//自定义内容（载荷）
                .signWith(SignatureAlgorithm.HS256,setKey)//签名算法和秘钥
                .setExpiration(new Date(System.currentTimeMillis()+12*3600*1000))//有效期一小时
                .compact();

        return jwt;
    }

    //解析JWT令牌
    public static Claims jianchaJWT(String jwt){
        Claims claims=Jwts.parser()
                .setSigningKey(setKey)//指定秘钥
                .parseClaimsJws(jwt)//解析传过来的JWT令牌
                .getBody();
                return  claims;
    }
}
